Skip to content

Conversation

@vredchenko
Copy link
Collaborator

@vredchenko vredchenko commented Jan 13, 2026

Summary

Consolidates Claude Code configuration into version control and sets up symlinks from workspace root.

Closes #108

Changes

Already Implemented

  • Added Git Commit Guidelines section to claude-code/CLAUDE.md
  • Changed smartem-workspace CLI to symlink CLAUDE.md instead of copying

To Be Implemented (expanded scope)

1. Fix Skill Paths in repos.json

Skills paths are missing claude-code/ prefix, causing empty .claude/skills/ folder:

// Current (broken)
{ "name": "database-admin", "path": "shared/skills/database-admin" }

// Fixed
{ "name": "database-admin", "path": "claude-code/shared/skills/database-admin" }

2. Implement check Command

smartem-workspace check [OPTIONS]

Options:
  --scope      What to check: claude, repos, all (default: all)
  --fix        Attempt to repair issues found
  --verbose    Show detailed information

Output format (inspired by npm doctor, brew doctor):

Checking SmartEM workspace...

Claude Code Setup
  ✓ claude-config symlink
  ✓ CLAUDE.md symlink
  ✗ skills/database-admin (missing)
  ✓ .claude/settings.local.json

Repositories (3 repos)
  ✓ smartem-devtools (main, clean)
  ⚠ smartem-decisions (feature/x, 2 uncommitted)

Found 1 issue, 1 warning.
Run with --fix to repair issues.

Claude scope checks:

Check Fixable
claude-config symlink exists and valid Yes
CLAUDE.md is symlink (not copy) Yes
Each skill symlink exists and valid Yes
.claude/settings.local.json exists Yes

Repos scope checks:

Check Severity
Repo exists Error
On expected branch (main) Warning
Clean working tree Warning
Up to date with remote Warning

Fix actions (--fix):

  • Recreate missing/broken symlinks
  • Create missing .claude/settings.local.json
  • Convert CLAUDE.md copy to symlink
  • Does NOT: auto-commit, auto-pull, switch branches

3. Implement sync Command

smartem-workspace sync [OPTIONS]

Options:
  --repos      Specific repos to sync (default: all)
  --dry-run    Show what would be pulled without doing it

Separates concerns:

  • check --fix = repair workspace config
  • sync = update git repos

Files to Modify/Create

File Action
core/repos.json Edit (fix skill paths)
packages/smartem-workspace/smartem_workspace/commands/__init__.py Create
packages/smartem-workspace/smartem_workspace/commands/check.py Create
packages/smartem-workspace/smartem_workspace/commands/sync.py Create
packages/smartem-workspace/smartem_workspace/cli.py Edit (wire commands)
packages/smartem-workspace/tests/test_check.py Create

TODO

  • CLAUDE.md symlink in setup
  • Git Commit Guidelines in CLAUDE.md
  • Fix skill paths in repos.json
  • Implement check command
  • Implement sync command
  • Add tests

Adds guidelines for commit messages:
- No Claude attribution in commits
- Use conventional commits format
- Focus on the "why" not the "what"

Closes #108
Changes `smartem-workspace init` to create a symlink for CLAUDE.md
rather than copying it. This ensures workspace stays in sync with
the versioned config in smartem-devtools.
@vredchenko vredchenko added admin Project maintenance, dependency updates, or housekeeping smartem-devtools:claude Claude Code configuration, skills, and prompts labels Jan 13, 2026
Implements workspace verification and repository synchronization:

- `smartem-workspace check [--scope] [--fix]` - verify workspace setup
  - Scopes: claude, repos, serena, all
  - Validates symlinks, directories, config files, cloned repos
  - --fix repairs broken/missing symlinks

- `smartem-workspace sync [--dry-run]` - pull latest from all repos
  - Fetches and pulls all cloned repositories
  - Skips repos with uncommitted changes or not on main/master
  - --dry-run shows what would be pulled

Also fixes skill paths in core/repos.json to include claude-code/ prefix.

Closes #108
@vredchenko vredchenko marked this pull request as ready for review January 14, 2026 19:36
@vredchenko vredchenko merged commit fdb4878 into main Jan 14, 2026
8 checks passed
@vredchenko vredchenko deleted the claude-config-consolidation branch January 14, 2026 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

admin Project maintenance, dependency updates, or housekeeping smartem-devtools:claude Claude Code configuration, skills, and prompts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: move Claude Code config to version control

2 participants